from qa.jianli1 import get_resume_json_from_qianwen
from qa.jianli2 import generate_word_resume
from qa.jianli3 import generate_pdf_resume


def main():

    WORD_OUTPUT = "Python开发工程师简历.docx"
    PDF_OUTPUT = "Python开发工程师简历.pdf"

    # 2. 导入4.2中的完整提示词
    prompt = """角色：你是互联网行业资深简历优化专家，熟悉Python开发、产品经理等岗位的简历撰写逻辑，能精准提炼职业亮点。

需求：生成一份“Python开发工程师”岗位的简历，需包含以下模块，每个模块需满足细节要求：
1. 基本信息：姓名、性别、联系电话、电子邮箱、求职意向（需符合职场规范，电话/邮箱格式正确）；
2. 教育经历：1-2段（学校名称、学历、专业、入学-毕业时间，需含1项量化荣誉，如“专业前10%”）；
3. 工作经历：1-2段（公司名称、职位、工作时间，3项核心职责+2项量化成果，成果需含数字，如“优化接口响应时间30%”）；
4. 专业技能：按“编程语言、开发框架、数据库、工具”分类，每项标注熟练度（如“Python：精通”）；
5. 自我评价：3句话，突出技术能力与岗位适配性（如“3年Python后端开发经验，熟练掌握Django框架”）。

输出格式：严格按以下JSON结构输出，不可添加额外文本（如注释、解释），字段名不可修改：
{
  "basic_info": {
    "name": "字符串（如：张三）",
    "gender": "字符串（如：男）",
    "phone": "字符串（如：13800138000）",
    "email": "字符串（如：zhangsan@xxx.com）",
    "job_intention": "字符串（如：Python开发工程师）"
  },
  "education": [
    {
      "school": "字符串（如：XX大学）",
      "degree": "字符串（如：本科）",
      "major": "字符串（如：计算机科学与技术）",
      "time": "字符串（如：2019.09-2023.06）",
      "honors": "字符串（如：2022年校级奖学金，专业排名前10%）"
    }
  ],
  "work_experience": [
    {
      "company": "字符串（如：XX科技公司）",
      "position": "字符串（如：Python开发工程师）",
      "time": "字符串（如：2023.07-至今）",
      "responsibilities": ["字符串1", "字符串2", "字符串3"],
      "achievements": ["字符串1（含量化）", "字符串2（含量化）"]
    }
  ],
  "skills": {
    "programming_language": ["字符串（如：Python：精通）"],
    "framework": ["字符串（如：Django：熟练）"],
    "database": ["字符串（如：MySQL：精通）"],
    "tools": ["字符串（如：Git：熟练）"]
  },
  "self_evaluation": ["字符串1", "字符串2", "字符串3"]
}"""

    # 3. 步骤1：调用千问API获取简历JSON
    resume_json = get_resume_json_from_qianwen(prompt)
    if not resume_json:
        print("❌ 流程终止：未获取到有效简历数据")
        return

    # 4. 步骤2：生成Word简历（基于python-docx基础）
    generate_word_resume(resume_json, WORD_OUTPUT)

    # 5. 步骤3：生成PDF简历（基于pymupdf基础）
    generate_pdf_resume(resume_json, PDF_OUTPUT)


if __name__ == "__main__":
    main()